package com.edu.draw;

import javax.swing.*;
import java.awt.*;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 石方旭
 * Date: 2022-09-18
 * Time: 16:18
 */
//如果要画出一个图形,要有一个画框,要继承JFrame,这里就有了一个画框
   @SuppressWarnings("all")
public class DrawCircle extends JFrame{

   public static void main(String[] args) {
       new DrawCircle();
   }
   MyPanel myPanel = null;//画板
   public DrawCircle(){
      //创建一个画板
      myPanel = new MyPanel();
      this.add(myPanel);//在这个画框加上这个画板
      this.setSize(400,300);//设置窗口大小
      this.setVisible(true);//可以显示在画框中
      //当点击窗口(关闭窗口) X 的时候,就会关闭进程
      this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   }

   //相当于一个画图的面板
   class MyPanel extends JPanel{

      //重写paint方法来画一个圆形
      //可以把Graphics理解为一个画笔,可以画出很多图形
      //这个paint方法有4中情况会被自动调用
      //当第一次在屏幕上显示窗口
      //窗口大小变化的时候
      //先最小化在最大化
      //调用repaint方法
      @Override
      public void paint(Graphics g) {
         super.paint(g);
         //圆的左上角坐标为(10,10)  圆的宽度和高度都为400
         //g.drawOval(10,10,200,200);

         //画出直线
         //坐标代表起始位置和终点位置
         // g.drawLine(10,10,70,70);

         //画出矩形边框
         //矩形的左上角坐标为(10,10)  圆的宽度和高度都为300
         // g.drawRect(10,10,300,300);

         //填充矩形颜色
         //g.setColor(Color.BLUE);
         //g.fill3DRect(10,10,100,100,true);

         //填充椭圆
         //g.setColor(Color.pink);
         //g.fillOval(10,10,100,100);

         //画图片
         //先要获取图片资源
//         Image image = Toolkit.getDefaultToolkit().getImage
//                 (Panel.class.getResource("/bg.jpg"));
//         g.drawImage(image,100,100,500,500,this);

         //画字符串
         //x,y代表左下角位置
         //设置字体样式,设置字体粗细,设置字体大小
         g.setFont(new Font("微软雅黑",Font.BOLD,30));
         g.setColor(Color.pink);
         g.drawString("你好中国",50,40);

      }
   }

}


